package com.qingzhou.web.repository.entity;

import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import com.qingzhou.common.web.domain.BaseEntity;
import com.qingzhou.web.service.impl.convert.DictParent;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 手术情况 实体类
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Table(value = "edc_surgery")
public class SurgeryEntity extends BaseEntity {
    @Id
    private Long id;

    @ApiModelProperty(value = "状态")
    private String status;

    @ApiModelProperty(value = "患者编号")
    private String patientCode;

    // 手术情况（表头）
    @ApiModelProperty(value = "是否手术", notes = "字典 sys_yes_no")
    @DictParent("sys_yes_no")
    private String isOperation;

    @ApiModelProperty(value = "手术日期")
    @DateTimeFormat("yyyy年MM月dd日")
    private Date operationDate;

    @ApiModelProperty(value = "手术方式", notes = "字典 surgery_methods_dict")
    @DictParent("surgery_methods_dict")
    private String operationMode;

    @ApiModelProperty(value = "切除范围", notes = "字典 resection_ranges_dict")
    @DictParent("resection_ranges_dict")
    private String resectionRanges;

    @ApiModelProperty(value = "切除部位", notes = "字典 resection_sites_dict")
    @DictParent("resection_sites_dict")
    private String resectionSites;

    @ApiModelProperty(value = "第8版手术前T分期")
    private String preTblStaging;
    @ApiModelProperty(value = "第8版手术前N分期")
    private String preNblStaging;
    @ApiModelProperty(value = "第8版手术前M分期")
    private String preMblStaging;
    /*@ApiModelProperty(value = "手术前分期版本号", notes = "字典 stage_version_dict")
    @DictParent("stage_version_dict")
    private String preStageVersion;*/
    @ApiModelProperty(value = "第8版手术前TNM分期",notes="字典 tnm_stage_dict")
    @DictParent("tnm_stage_dict")
    private String preTnm;
    @ApiModelProperty(value = "第9版手术前T分期")
    private String preTblNineStaging;
    @ApiModelProperty(value = "第9版手术前N分期")
    private String preNblNineStaging;
    @ApiModelProperty(value = "第9版手术前M分期")
    private String preMblNineStaging;
    @ApiModelProperty(value = "第9版手术前TNM分期",notes="字典 tnm_stage_dict")
    @DictParent("tnm_stage_dict")
    private String preNineTnm;

    @ApiModelProperty(value = "手术备注")
    private String operationRemark;

    @ApiModelProperty("数据检查原因")
    private String editReason;

    @ApiModelProperty("终止原因")
    private String stopReason;
}
